<?php

class LaboratoriosController extends AppController
{
    public $helpres = array('Html', 'Form');
    public $uses = array('Laboratorio','Subclaseslaboratorio','Laboratoriosparametro','Laboratoriosrango');
    public $layout = 'hospital';
    
    public function beforeFilter() {
        parent::beforeFilter();
        //$this->Auth->allow();
    }
    
    public function index()
    {
        $laboratorios = $this->Laboratorio->find('all');
        $this->set(compact('laboratorios'));
        //debug($medicamentos);exit;
    }

     function add($id = null)
    {
        if (!empty($this->request->data)) 
        {
            $this->Laboratorio->create();

            if ($this->Laboratorio->save($this->data)) {

                $this->Session->setFlash('labo  Registrado con exito...!!!');
                $this->redirect(array('action' => 'index'), null, true);

            } else {
                $this->Session->setFlash('No se pudo registrar!!!');
            }
        } //debug($this->data);
       $subclaseslaboratorio = $this->Subclaseslaboratorio->find('list', array ('fields'=>'Subclaseslaboratorio.nombre'));
       $this->set(compact('subclaseslaboratorio'));
       //debug($presmedicamento);exit;
       
    }
    public function edit($id = null)
    {
        $this->Laboratorio->id = $id;
        if (!$id) {
            $this->Session->setFlash('No existe tal registro');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->data)) {
            $this->data = $this->Laboratorio->read();
        } else {
            if ($this->Laboratorio->save($this->data)) {
                $this->Session->setFlash('Los datos fueron modificados');
                $this->redirect(array('action' => 'index'), null, true);
            } else {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        }
        $subclaseslaboratorio = $this->Subclaseslaboratorio->find('list', array ('fields'=>'Subclaseslaboratorio.nombre'));
        $this->set(compact('subclaseslaboratorio'));
       //debug($presmedicamento);exit;       
    }

    public function delete($id = null)
    {
        if (!$id) {
            $this->Session->setFlash('id Invalida para borrar');
            $this->redirect(array('action' => 'index'));
        }
        if ($this->Laboratorio->delete($id)) {
            $this->Session->setFlash('El labo  ' . $id . ' fue borrado');
            $this->redirect(array('action' => 'index'));
        }
    }

    //adding a list of rangos    
    public function rangos($id = null) {        
        $dato = $this->Laboratorio->findById($id);
        //debug($dato);exit();
        $nombre = $dato['Laboratorio']['nombre'];
        $subclaseslaboratorio=$dato['Subclaseslaboratorio']['nombre'];
        //debug($subclaseslaboratorio);exit();
        //$proporcion=$dato['Medicamento']['porporcion'];
        $rangos = $this->Laboratoriosrango->find('all', array(
            'conditions' => array('Laboratoriosrango.laboratorio_id' => $id)
        ));
        $this->set(compact('rangos', 'nombre', 'id','subclaseslaboratorio'));

        if (!empty($this->request->data)) {
            $id = $this->request->data['Laboratoriosrango']['laboratorio_id'];
            if ($this->Laboratoriosrango->save($this->request->data)) {
                $this->Session->setFlash('CORRECTO: Guardado correctamente');
                $this->redirect(array('action' => 'rangos', $id));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'rangos', $id));
            }
        }
    }
    public function ajaxeditarrango($id = null) {
        $this->layout='ajax';
        
        $this->Laboratoriosrango->id = $id;
        
        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            if ($this->Laboratoriosrango->save($this->request->data)) {
                $idLaboratorio= $this->request->data['Laboratoriosrango']['laboratorio_id'];
                $this->Session->setFlash('CORRECTO: Se cambiaron los datos correctamente');
                $this->redirect(array('action' => 'rangos', $idLaboratorio));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'rangos', $idLaboratorio));
            }
        } else {
            $options = array('conditions' => array('Laboratoriosrango.' . $this->Laboratoriosrango->primaryKey => $id));
            $this->request->data = $this->Laboratoriosrango->find('first', $options);
            //$seguros = $this->Seguro->find('all', array('recursive' => -1));
            $id = $this->request->data['Laboratoriosrango']['laboratorio_id'];            
            $this->set(compact('id'));
        }
    }
    public function deleterango($id=null , $idLaboratorio=null) {
        if ($this->Laboratoriosrango->delete($id)) {
            $this->Session->setFlash('CORRECTO: se elimino los datos correctamente');
            $this->redirect(array('action' => 'rangos', $idLaboratorio));
        } else {
            $this->Session->setFlash('ERROR: No guardo!!');
            $this->redirect(array('action' => 'precios', $idLaboratorio));
        }
    }

    //parametros
    public function parametros($id=null) {        
        $dato = $this->Laboratorio->findById($id);
        $nombre = $dato['Laboratorio']['nombre'];

        $subclaseslaboratorio=$dato['Subclaseslaboratorio']['nombre'];

        $parametros = $this->Laboratoriosparametro->find('all', array(
            'conditions' => array('Laboratoriosparametro.laboratorio_id' => $id)
        ));
        // ///debug($compras); exit();                       
        // $lineaslaboratorios = $this->Lineaslaboratorio->find('all', array('recursive' => -1));     
        $this->set(compact('parametros', 'nombre', 'id', 'subclaseslaboratorio'));

        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            $id = $this->request->data['Laboratoriosparametro']['laboratorio_id'];

            if ($this->Laboratoriosparametro->save($this->request->data)) {
                $this->Session->setFlash('CORRECTO: Guardado correctamente');
                $this->redirect(array('action' => 'parametros', $id));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'parametros', $id));
            }
        }   
    }
    public function ajaxeditarparametro($id = null) {
        $this->layout='ajax';
        
        $this->Laboratoriosparametro->id = $id;
        
        if (!empty($this->request->data)) {
            //debug($this->request->data);exit;
            if ($this->Laboratoriosparametro->save($this->request->data)) {
                $idLaboratorio= $this->request->data['Laboratoriosparametro']['laboratorio_id'];
                $this->Session->setFlash('CORRECTO: Se cambiaron los datos correctamente');
                $this->redirect(array('action' => 'parametros', $idLaboratorio));
            } else {
                $this->Session->setFlash('ERROR: No guardo!!');
                $this->redirect(array('action' => 'parametros', $idLaboratorio));
            }
        } else {
            $options = array('conditions' => array('Laboratoriosparametro.' . $this->Laboratoriosparametro->primaryKey => $id));
            $this->request->data = $this->Laboratoriosparametro->find('first', $options);
            //$lineaslaboratorios = $this->Lineaslaboratorio->find('all', array('recursive' => -1));
            $id = $this->request->data['Laboratoriosparametro']['laboratorio_id'];            
            $this->set(compact('id'));
        }
    }

    public function deleteparametro($id=null , $idLaboratorio=null) {
        if ($this->Laboratoriosparametro->delete($id)) {
            $this->Session->setFlash('CORRECTO: se elimino los datos correctamente');
            $this->redirect(array('action' => 'parametros', $idLaboratorio));
        } else {
            $this->Session->setFlash('ERROR: No guardo!!');
            $this->redirect(array('action' => 'parametros', $idLaboratorio));
        }
    }
}
?>
